# 数据解析 从数据里面解析出需要的数据
# pip install lxml
from lxml import etree

f = open('../day02-html页面构成/我是一个网页.html', 'r', encoding='utf-8')
html_data = f.read()
f.close()

# 把文本数据转换为可以被解析的树形文档
html = etree.HTML(html_data)

# / 从根节点触发  绝对路径
# data = html.xpath('/html/head/title')
# print(data)

# // 当前节点选择文档中的节点 相对路径
# data = html.xpath('//meta')
# print(data)

# @	选取属性。
# data = html.xpath('//head/link/@type')
# print(data)

# | 或者 可以同时满足多个路径
data = html.xpath('//head/link/@type | //head/link/@rel')
print(data)

# text() 获取元素内容
# data = html.xpath('/html/head/title/text()')
# print(data)

# 谓语  [2] 选择获取某个数据
# data = html.xpath('//head/link[2]')
# print(data)

# [position()<3] 通过条件获取莫部分数据
# data = html.xpath('//head/link[position()>5]')
# print(data)

# //title[@lang] 获取title里面有lang属性的元素
# data = html.xpath('//link[@type]')
# print(data)

# //title[@lang='eng']  获取title里面有lang属性等于eng值的元素

'//title[@lang=123][4]可以这么写'

# data = html.xpath('//ul[@class="abc"and@id="222" ]/li/text()')
# print(data)



# 未知元素 *
# //*[@rel] 获取元素里面有rel属性的元素 不会受到标签的限制
# data = html.xpath('//link[@type]')
# print(data)

# data = html.xpath('//ul[@*="abc"]/li/text()')
# print(data)

# data = html.xpath('//table[@id="ta"]/tr[2]/td/text()')
# print(data)
# 9:35 上课

# 节点//  谓语[1] table[@id="ta"]  未知元素 *

# 获取链接网前5页的数据 爬取标题 爬*-* 位置 总价格和单价
# 保存到text文件里面 一条数据存一行
# 作业提交保存数据的截图
